package persistencia.dao.utilidades;

import persistencia.dao.OperadorDAO;
import persistencia.objetoNegocio.Pedido;

public class AsignacionPedidoConcurrente
    implements Runnable
{


    private Thread hilo;
    private OperadorDAO operadorDao;
    private Long idOperador;
    private Pedido pedido;
    private int retardo;

    public AsignacionPedidoConcurrente(OperadorDAO operadorDao, long idOperador, int retardo)
    {
        this.operadorDao = operadorDao;
        this.idOperador = Long.valueOf(idOperador);
        this.retardo = retardo;
        hilo = new Thread(this);
        hilo.start();
    }

    public void run()
    {
        try
        {
            Thread.sleep(retardo);
        }
        catch(InterruptedException e)
        {
            e.printStackTrace();
        }
        pedido = operadorDao.siguientePedido(idOperador.longValue());
    }

    public boolean isAlive()
    {
        return hilo.isAlive();
    }

    public Pedido getPedido()
    {
        return pedido;
    }
}